<title>Homework: x86 MMU</title>
<html>
<head>
</head>
<body>

<h1>Homework: x86 MMU</h1>

<p>Read chapters 5 and 6 of
<a href="../readings/i386/toc.htm">Intel 80386 Reference Manual</a>.
These chapters explain
the x86 Memory Management Unit (MMU),
which we will cover in lecture today and which you need
to understand in order to do lab 2.

<p>
<b>Read</b>: bootasm.S and setupsegs() in proc.c

<p>
<b>Hand-In Procedure</b>
<p>
You are to turn in this homework during lecture. Please
write up your answers to the exercises below and hand them in to a
6.828 staff member by the beginning of lecture.
<p>

<p><b>Assignment</b>: Try to understand setupsegs() in proc.c.
  What values are written into <code>gdt[SEG_UCODE]</code>
  and <code>gdt[SEG_UDATA]</code> for init, the first user-space
  process?
  (You can use Bochs to answer this question.)

</body>
